{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>日期</th>\n",
       "      <th>时刻</th>\n",
       "      <th>实际值</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2023-01-19</td>\n",
       "      <td>00:15:00</td>\n",
       "      <td>113.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2023-01-19</td>\n",
       "      <td>00:30:00</td>\n",
       "      <td>112.80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2023-01-19</td>\n",
       "      <td>00:45:00</td>\n",
       "      <td>112.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2023-01-19</td>\n",
       "      <td>01:00:00</td>\n",
       "      <td>114.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2023-01-19</td>\n",
       "      <td>01:15:00</td>\n",
       "      <td>114.24</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          日期        时刻     实际值\n",
       "0 2023-01-19  00:15:00  113.86\n",
       "1 2023-01-19  00:30:00  112.80\n",
       "2 2023-01-19  00:45:00  112.01\n",
       "3 2023-01-19  01:00:00  114.25\n",
       "4 2023-01-19  01:15:00  114.24"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "\n",
    "# python读取文件夹所有文件合并到一个dataframe\n",
    "files = os.listdir(\"./data/03小电源历史数据/\")\n",
    "all_files = []\n",
    "for file in files:\n",
    "    df = pd.read_excel(f\"{os.getcwd()}/data/03小电源历史数据/{file}\")\n",
    "    all_files.append(df)\n",
    "df = pd.concat(all_files)\n",
    "# dataframe删除多余列\n",
    "df = df.drop(columns =[\"平均准确率\", \"预测值\", \"准确率\"], axis=1)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zcXKlStx3333SdfxvXe/jz76CGvXrsW6deswatQoZGdnY9myZUhISMD9998vXcf33vNwiQdAVFQUlEplu9mS8vLydqma3GPp0qXYvHkzduzYgcTEROn2uLg4AOCfRR/IyspCeXk5JkyYAJVKBZVKhczMTLz55ptQqVTS+8v33v3i4+MxcuRIl9tGjBiBCxcuAODf+7709NNP49lnn8Udd9yBjIwM3HvvvXjiiSewYsUKAHzvPRkDCgCNRoMJEyZg69atLrdv3boVU6ZMkWlUvkkURSxZsgQbNmzA9u3bkZqa6nJ/amoq4uLiXP4sWlpakJmZyT+LXrr22mtx9OhRZGdnSx8TJ07E3XffjezsbKSlpfG97yNTp05tt53+1KlTGDhwIAD+ve9LjY2NUChcf9UplUppmzHfew8mY4GuR3FuM37vvffEY8eOicuWLRODg4PF/Px8uYfmU375y1+Ker1e3Llzp1hSUiJ9NDY2Ste88sorol6vFzds2CAePXpUvPPOO7nlr4+03cUjinzv+8q+fftElUolvvzyy+Lp06fFDz74QAwKChLXrl0rXcP3vm/cf//94oABA6Rtxhs2bBCjoqLEX/3qV9I1fO89EwNKG//4xz/EgQMHihqNRhw/fry09ZXcB0CHH6tWrZKusdls4osvvijGxcWJWq1WnD59unj06FH5Bu3DLg4ofO/7zueffy6mp6eLWq1WHD58uPivf/3L5X6+933DaDSKjz/+uJicnCwGBASIaWlp4v/8z/+IJpNJuobvvWcSRFEU5ZzBISIiIroYa1CIiIjI4zCgEBERkcdhQCEiIiKPw4BCREREHocBhYiIiDwOAwoRERF5HAYUIiIi8jgMKERERORxGFCIiIjI4zCgEBERkcdhQCEiIiKPw4BCREREHuf/Ax0HvysjJDPLAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# dataframe某一列绘制曲线\n",
    "_ = plt.plot(df[-96:][\"实际值\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(174, 7)\n"
     ]
    }
   ],
   "source": [
    "files = os.listdir(\"./data/04气象历史数据/\")\n",
    "places = [\"上饶\", \"鄱阳\", \"余干\"]\n",
    "all_files = {i:[] for i in places}\n",
    "for file in files:\n",
    "    for place in places:\n",
    "        df = pd.read_excel(f\"{os.getcwd()}/data/04气象历史数据/{file}\")\n",
    "        all_files[place].append(df)\n",
    "dfs = {i:None for i in places}\n",
    "for place in places:\n",
    "    dfs[place] = pd.concat(all_files[place])\n",
    "    # dataframe列遍历并重命名列名\n",
    "    for col in dfs[place].columns:\n",
    "        dfs[place].rename(columns={col:place+col}, inplace=True)\n",
    "# 多个dataframe合并，其中不同列名在右侧添加，相同列名忽略\n",
    "df = pd.concat(dfs.values(), axis=1)\n",
    "df[\"日期\"] = df[\"上饶时间\"]\n",
    "# dataframe遍历每一列，并删除某一列\n",
    "# 给定一字符数组以及一字符串，若字符串包含字符数组中任一元素，则返回真\n",
    "for col in df:\n",
    "    if \"Unnamed\" in col or \"时间\" in col or \"风\" in col:\n",
    "        del df[col]\n",
    "# dataframe删除每个cell中\\n\n",
    "df = df.replace('\\n','', regex=True)\n",
    "print(df.shape)\n",
    "df.to_excel(\"./合并天气.xlsx\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "env_b",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "a1d72e55f37f12004b9b2d82a45c015a23cdb2733c870ac1c473b30c47b0950e"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
